translatomatic 0.1.3 → 0.2.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.
Files changed (139) hide show
  1. checksums.yaml +5 -5
  2. data/.gitattributes +20 -20
  3. data/.gitignore +19 -15
  4. data/.rspec +3 -3
  5. data/.rubocop.yml +28 -0
  6. data/.translatomatic/config.yml +4 -0
  7. data/.travis.yml +4 -6
  8. data/.yardopts +9 -9
  9. data/Gemfile +8 -4
  10. data/Guardfile +4 -5
  11. data/README.de.md +55 -50
  12. data/README.en.md +177 -0
  13. data/README.es.md +53 -48
  14. data/README.fr.md +53 -48
  15. data/README.it.md +54 -49
  16. data/README.ja.md +63 -58
  17. data/README.ko.md +59 -54
  18. data/README.md +17 -13
  19. data/README.ms.md +50 -45
  20. data/README.pt.md +54 -49
  21. data/README.ru.md +57 -52
  22. data/README.sv.md +51 -46
  23. data/README.zh.md +60 -55
  24. data/Rakefile +3 -3
  25. data/TODO.txt +6 -0
  26. data/bin/console +3 -3
  27. data/bin/translatomatic +4 -2
  28. data/config/i18n-tasks.yml +130 -0
  29. data/config/locales/translatomatic/de.yml +141 -99
  30. data/config/locales/translatomatic/en.yml +129 -89
  31. data/config/locales/translatomatic/es.yml +136 -99
  32. data/config/locales/translatomatic/fr.yml +139 -100
  33. data/config/locales/translatomatic/it.yml +135 -97
  34. data/config/locales/translatomatic/ja.yml +137 -98
  35. data/config/locales/translatomatic/ko.yml +138 -98
  36. data/config/locales/translatomatic/ms.yml +138 -100
  37. data/config/locales/translatomatic/pt.yml +137 -101
  38. data/config/locales/translatomatic/ru.yml +136 -98
  39. data/config/locales/translatomatic/sv.yml +134 -96
  40. data/config/locales/translatomatic/zh.yml +136 -97
  41. data/db/migrate/201712170000_initial.rb +2 -3
  42. data/lib/translatomatic.rb +40 -25
  43. data/lib/translatomatic/cli.rb +5 -1
  44. data/lib/translatomatic/cli/base.rb +61 -58
  45. data/lib/translatomatic/cli/common_options.rb +14 -11
  46. data/lib/translatomatic/cli/config.rb +96 -91
  47. data/lib/translatomatic/cli/database.rb +85 -23
  48. data/lib/translatomatic/cli/main.rb +158 -104
  49. data/lib/translatomatic/cli/thor.rb +29 -0
  50. data/lib/translatomatic/cli/translate.rb +134 -157
  51. data/lib/translatomatic/config.rb +10 -301
  52. data/lib/translatomatic/config/display.rb +78 -0
  53. data/lib/translatomatic/config/files.rb +60 -0
  54. data/lib/translatomatic/config/location_settings.rb +133 -0
  55. data/lib/translatomatic/config/options.rb +68 -0
  56. data/lib/translatomatic/config/selector.rb +127 -0
  57. data/lib/translatomatic/config/settings.rb +148 -0
  58. data/lib/translatomatic/converter.rb +40 -28
  59. data/lib/translatomatic/database.rb +127 -110
  60. data/lib/translatomatic/define_options.rb +4 -5
  61. data/lib/translatomatic/escaped_unicode.rb +86 -76
  62. data/lib/translatomatic/extractor.rb +5 -2
  63. data/lib/translatomatic/extractor/base.rb +12 -12
  64. data/lib/translatomatic/extractor/ruby.rb +7 -6
  65. data/lib/translatomatic/file_translator.rb +101 -244
  66. data/lib/translatomatic/flattenation.rb +39 -0
  67. data/lib/translatomatic/http.rb +13 -0
  68. data/lib/translatomatic/http/client.rb +144 -0
  69. data/lib/translatomatic/http/exception.rb +43 -0
  70. data/lib/translatomatic/http/file_param.rb +27 -0
  71. data/lib/translatomatic/http/param.rb +37 -0
  72. data/lib/translatomatic/http/request.rb +91 -0
  73. data/lib/translatomatic/i18n.rb +43 -0
  74. data/lib/translatomatic/locale.rb +71 -59
  75. data/lib/translatomatic/logger.rb +43 -28
  76. data/lib/translatomatic/metadata.rb +58 -0
  77. data/lib/translatomatic/model.rb +4 -2
  78. data/lib/translatomatic/model/locale.rb +5 -5
  79. data/lib/translatomatic/model/text.rb +5 -5
  80. data/lib/translatomatic/option.rb +57 -34
  81. data/lib/translatomatic/path_utils.rb +126 -0
  82. data/lib/translatomatic/progress_updater.rb +13 -16
  83. data/lib/translatomatic/provider.rb +101 -0
  84. data/lib/translatomatic/provider/base.rb +136 -0
  85. data/lib/translatomatic/provider/frengly.rb +55 -0
  86. data/lib/translatomatic/provider/google.rb +78 -0
  87. data/lib/translatomatic/provider/google_web.rb +50 -0
  88. data/lib/translatomatic/provider/microsoft.rb +144 -0
  89. data/lib/translatomatic/provider/my_memory.rb +75 -0
  90. data/lib/translatomatic/provider/yandex.rb +61 -0
  91. data/lib/translatomatic/resource_file.rb +59 -53
  92. data/lib/translatomatic/resource_file/base.rb +171 -237
  93. data/lib/translatomatic/resource_file/csv.rb +176 -24
  94. data/lib/translatomatic/resource_file/html.rb +21 -42
  95. data/lib/translatomatic/resource_file/key_value_support.rb +117 -0
  96. data/lib/translatomatic/resource_file/markdown.rb +36 -38
  97. data/lib/translatomatic/resource_file/plist.rb +121 -126
  98. data/lib/translatomatic/resource_file/po.rb +104 -82
  99. data/lib/translatomatic/resource_file/properties.rb +48 -77
  100. data/lib/translatomatic/resource_file/properties.treetop +87 -0
  101. data/lib/translatomatic/resource_file/resw.rb +56 -41
  102. data/lib/translatomatic/resource_file/subtitle.rb +86 -54
  103. data/lib/translatomatic/resource_file/text.rb +18 -18
  104. data/lib/translatomatic/resource_file/xcode_strings.rb +32 -63
  105. data/lib/translatomatic/resource_file/xcode_strings.treetop +85 -0
  106. data/lib/translatomatic/resource_file/xml.rb +94 -81
  107. data/lib/translatomatic/resource_file/yaml.rb +54 -68
  108. data/lib/translatomatic/retry_executor.rb +37 -0
  109. data/lib/translatomatic/slurp.rb +32 -0
  110. data/lib/translatomatic/string_batcher.rb +50 -0
  111. data/lib/translatomatic/string_escaping.rb +61 -0
  112. data/lib/translatomatic/text.rb +263 -0
  113. data/lib/translatomatic/text_collection.rb +66 -0
  114. data/lib/translatomatic/tmx.rb +5 -3
  115. data/lib/translatomatic/tmx/document.rb +107 -82
  116. data/lib/translatomatic/tmx/translation_unit.rb +19 -18
  117. data/lib/translatomatic/translation.rb +8 -28
  118. data/lib/translatomatic/translation/collection.rb +199 -0
  119. data/lib/translatomatic/translation/fetcher.rb +123 -0
  120. data/lib/translatomatic/translation/munging.rb +112 -0
  121. data/lib/translatomatic/translation/result.rb +50 -0
  122. data/lib/translatomatic/translation/sharer.rb +32 -0
  123. data/lib/translatomatic/translation/stats.rb +44 -0
  124. data/lib/translatomatic/translator.rb +91 -88
  125. data/lib/translatomatic/type_cast.rb +63 -0
  126. data/lib/translatomatic/util.rb +37 -33
  127. data/lib/translatomatic/version.rb +2 -2
  128. data/translatomatic.gemspec +57 -46
  129. metadata +136 -59
  130. data/lib/translatomatic/http_request.rb +0 -162
  131. data/lib/translatomatic/string.rb +0 -188
  132. data/lib/translatomatic/translation_result.rb +0 -86
  133. data/lib/translatomatic/translation_stats.rb +0 -31
  134. data/lib/translatomatic/translator/base.rb +0 -128
  135. data/lib/translatomatic/translator/frengly.rb +0 -62
  136. data/lib/translatomatic/translator/google.rb +0 -37
  137. data/lib/translatomatic/translator/microsoft.rb +0 -41
  138. data/lib/translatomatic/translator/my_memory.rb +0 -68
  139. data/lib/translatomatic/translator/yandex.rb +0 -56
@@ -0,0 +1,63 @@
1
+ module Translatomatic
2
+ # Type casting functions used by Translatomatic::Config
3
+ module TypeCast
4
+ private
5
+
6
+ def cast(value, type, options = {})
7
+ value = value[0] if value.is_a?(Array) && !array_type?(type)
8
+
9
+ case type
10
+ when :boolean
11
+ bool_value(value)
12
+ when :string
13
+ return value.nil? ? value : value.to_s
14
+ when :path
15
+ cast_path(value, options)
16
+ when :path_array
17
+ array_value(value).collect { |i| cast_path(i, options) }
18
+ when :array
19
+ array_value(value)
20
+ else
21
+ # no casting
22
+ value
23
+ end
24
+ end
25
+
26
+ def cast_path(value, options = {})
27
+ return nil if value.nil?
28
+ base_path = options[:base_path]
29
+ value = homeify(value.to_s)
30
+ value = File.absolute_path(value, base_path) if base_path
31
+ value
32
+ end
33
+
34
+ def homeify(path)
35
+ parts = File.split(path)
36
+ if parts[0] && parts[0] == '~'
37
+ # replace ~ with home directory
38
+ parts[0] = Dir.home
39
+ path = File.join(parts)
40
+ end
41
+ path
42
+ end
43
+
44
+ def array_type?(type)
45
+ %i[path_array array].include?(type)
46
+ end
47
+
48
+ def array_value(value)
49
+ if value.nil?
50
+ []
51
+ else
52
+ value = [value] unless value.is_a?(Array)
53
+ value.collect { |i| i.split(/[, ]/) }.flatten.compact
54
+ end
55
+ end
56
+
57
+ def bool_value(value)
58
+ return true if %w[true t yes on].include?(value)
59
+ return false if %w[false f no off].include?(value)
60
+ value ? true : false
61
+ end
62
+ end
63
+ end
@@ -1,45 +1,49 @@
1
- # Utility functions, used internally
2
- module Translatomatic::Util
3
-
4
- private
1
+ module Translatomatic
2
+ # Utility functions, used internally
3
+ module Util
4
+ # @!visibility private
5
+ def self.included(klass)
6
+ klass.extend(ClassMethods)
7
+ end
5
8
 
6
- # @!visibility private
7
- module CommonMethods
8
9
  private
9
- def t(key, options = {})
10
- tkey = "translatomatic.#{key}"
11
- raise "missing translation: #{tkey}" unless I18n.exists?(tkey)
12
- I18n.t(tkey, options)
13
- end
14
- end
15
10
 
16
- include CommonMethods
11
+ # @!visibility private
12
+ module CommonMethods
13
+ private
14
+
15
+ def t(key, options = {})
16
+ Translatomatic::I18n.t(key, options)
17
+ end
18
+ end
17
19
 
18
- # @!visibility private
19
- module ClassMethods
20
- private
21
20
  include CommonMethods
22
- end
23
21
 
24
- def self.included(klass)
25
- klass.extend(ClassMethods)
26
- end
22
+ # @!visibility private
23
+ module ClassMethods
24
+ include CommonMethods
25
+ end
27
26
 
28
- def log
29
- Translatomatic.config.logger
30
- end
27
+ def log
28
+ Translatomatic.logger
29
+ end
31
30
 
32
- def locale(tag)
33
- Translatomatic::Locale.parse(tag)
34
- end
31
+ def build_locale(tag)
32
+ Translatomatic::Locale.parse(tag)
33
+ end
35
34
 
36
- def string(value, locale)
37
- Translatomatic::String.new(value, locale)
38
- end
35
+ def build_text(string, locale, options = {})
36
+ return nil if string.nil?
37
+ Translatomatic::Text.new(string, locale, options)
38
+ end
39
39
 
40
- def hashify(list)
41
- hash = {}
42
- list.each { |i| hash[i.to_s] = i }
43
- hash
40
+ def hashify(list, key_mapping = proc { |i| i.to_s })
41
+ hash = {}
42
+ list.each do |i|
43
+ key = key_mapping.call(i)
44
+ hash[key] = i
45
+ end
46
+ hash
47
+ end
44
48
  end
45
49
  end
@@ -1,7 +1,7 @@
1
1
  module Translatomatic
2
2
  # @return [String] Gem version
3
- VERSION = "0.1.3"
3
+ VERSION = '0.2.0'.freeze
4
4
 
5
5
  # @return [String] Homepage
6
- URL = "https://github.com/smugglys/translatomatic"
6
+ URL = 'https://github.com/smugglys/translatomatic'.freeze
7
7
  end
@@ -1,46 +1,57 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "translatomatic/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "translatomatic"
8
- spec.version = Translatomatic::VERSION
9
- spec.authors = ["Andrew Williams"]
10
- spec.email = ["contact@smugglys.com"]
11
-
12
- spec.summary = %q{File translation and conversion utility}
13
- spec.homepage = Translatomatic::URL
14
- spec.license = "MIT"
15
-
16
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features)/})
18
- end
19
- spec.bindir = "bin"
20
- spec.executables = %w{translatomatic}
21
- spec.require_paths = ["lib"]
22
-
23
- spec.metadata["yard.run"] = "yri" # use "yard" to build full HTML docs.
24
-
25
- spec.add_development_dependency "bundler", "~> 1.16"
26
- spec.add_development_dependency "rake", "~> 10.0"
27
- spec.add_development_dependency "rspec", "~> 3.0"
28
- spec.add_development_dependency "rspec-mocks", "~> 3.0"
29
- spec.add_development_dependency "simplecov"
30
- spec.add_development_dependency "webmock"
31
- spec.add_development_dependency "factory_bot" # RIP girl
32
-
33
- spec.add_dependency "thor", "~> 0.20"
34
- spec.add_dependency "easy_translate"
35
- spec.add_dependency "bing_translator", "~> 5.1.0"
36
- spec.add_dependency "activerecord", "~> 5.0"
37
- spec.add_dependency "i18n"
38
- spec.add_dependency "i18n_data"
39
- spec.add_dependency "rails-i18n", '~> 5.0.0' # For 5.0.x and 5.1.x
40
- spec.add_dependency "nokogiri"
41
- spec.add_dependency "ruby-progressbar"
42
- spec.add_dependency "kramdown" # markdown -> html
43
- spec.add_dependency "reverse_markdown" # html -> markdown
44
- spec.add_dependency "PoParser"
45
- spec.add_dependency "titlekit"
46
- end
1
+
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'translatomatic/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'translatomatic'
8
+ spec.version = Translatomatic::VERSION
9
+ spec.authors = ['Andrew Williams']
10
+ spec.email = ['contact@smugglys.com']
11
+
12
+ spec.summary = 'File translation and conversion utility'
13
+ spec.homepage = Translatomatic::URL
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = 'bin'
20
+ spec.executables = %w[translatomatic]
21
+ spec.require_paths = ['lib']
22
+
23
+ spec.metadata['yard.run'] = 'yri' # use "yard" to build full HTML docs.
24
+
25
+ spec.required_ruby_version = '>= 2.2'
26
+
27
+ # development
28
+ spec.add_development_dependency 'bundler', '~> 1'
29
+ spec.add_development_dependency 'rake', '~> 10'
30
+ spec.add_development_dependency 'rspec', '~> 3'
31
+ spec.add_development_dependency 'rspec-mocks', '~> 3'
32
+ spec.add_development_dependency 'simplecov'
33
+ spec.add_development_dependency 'webmock'
34
+
35
+ # translation
36
+ spec.add_dependency 'google_web_translate', '~> 0.2.3'
37
+
38
+ # resource file parsing
39
+ spec.add_dependency 'kramdown' # markdown -> html
40
+ spec.add_dependency 'nokogiri'
41
+ spec.add_dependency 'PoParser'
42
+ spec.add_dependency 'reverse_markdown' # html -> markdown
43
+ spec.add_dependency 'treetop'
44
+ spec.add_dependency 'rchardet'
45
+ spec.add_dependency 'titlekit'
46
+
47
+ # misc
48
+ spec.add_dependency 'activerecord', '~> 5'
49
+ spec.add_dependency 'i18n'
50
+ spec.add_dependency 'i18n_data' # iso country/language codes
51
+ spec.add_dependency 'rails-i18n', '~> 5' # date/time/currency formats
52
+ spec.add_dependency 'ruby-progressbar'
53
+ spec.add_dependency 'thor', '= 0.20.0' # using monkey patch
54
+ spec.add_dependency 'builder'
55
+ spec.add_dependency 'http-cookie', '~> 1'
56
+ spec.add_dependency 'rainbow', '~> 3'
57
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: translatomatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-06 00:00:00.000000000 Z
11
+ date: 2018-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '1'
20
20
  type: :development
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: '1.16'
26
+ version: '1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '10'
34
34
  type: :development
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: '10.0'
40
+ version: '10'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-mocks
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -95,13 +95,27 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: factory_bot
98
+ name: google_web_translate
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.2.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.2.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: kramdown
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
- type: :development
118
+ type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
@@ -109,21 +123,21 @@ dependencies:
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: thor
126
+ name: nokogiri
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - "~>"
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
- version: '0.20'
131
+ version: '0'
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - "~>"
136
+ - - ">="
123
137
  - !ruby/object:Gem::Version
124
- version: '0.20'
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
- name: easy_translate
140
+ name: PoParser
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - ">="
@@ -137,35 +151,35 @@ dependencies:
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
- name: bing_translator
154
+ name: reverse_markdown
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - "~>"
157
+ - - ">="
144
158
  - !ruby/object:Gem::Version
145
- version: 5.1.0
159
+ version: '0'
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - "~>"
164
+ - - ">="
151
165
  - !ruby/object:Gem::Version
152
- version: 5.1.0
166
+ version: '0'
153
167
  - !ruby/object:Gem::Dependency
154
- name: activerecord
168
+ name: treetop
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
- - - "~>"
171
+ - - ">="
158
172
  - !ruby/object:Gem::Version
159
- version: '5.0'
173
+ version: '0'
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
- - - "~>"
178
+ - - ">="
165
179
  - !ruby/object:Gem::Version
166
- version: '5.0'
180
+ version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
- name: i18n
182
+ name: rchardet
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - ">="
@@ -179,7 +193,7 @@ dependencies:
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
181
195
  - !ruby/object:Gem::Dependency
182
- name: i18n_data
196
+ name: titlekit
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - ">="
@@ -193,21 +207,21 @@ dependencies:
193
207
  - !ruby/object:Gem::Version
194
208
  version: '0'
195
209
  - !ruby/object:Gem::Dependency
196
- name: rails-i18n
210
+ name: activerecord
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - "~>"
200
214
  - !ruby/object:Gem::Version
201
- version: 5.0.0
215
+ version: '5'
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: 5.0.0
222
+ version: '5'
209
223
  - !ruby/object:Gem::Dependency
210
- name: nokogiri
224
+ name: i18n
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
227
  - - ">="
@@ -221,7 +235,7 @@ dependencies:
221
235
  - !ruby/object:Gem::Version
222
236
  version: '0'
223
237
  - !ruby/object:Gem::Dependency
224
- name: ruby-progressbar
238
+ name: i18n_data
225
239
  requirement: !ruby/object:Gem::Requirement
226
240
  requirements:
227
241
  - - ">="
@@ -235,21 +249,21 @@ dependencies:
235
249
  - !ruby/object:Gem::Version
236
250
  version: '0'
237
251
  - !ruby/object:Gem::Dependency
238
- name: kramdown
252
+ name: rails-i18n
239
253
  requirement: !ruby/object:Gem::Requirement
240
254
  requirements:
241
- - - ">="
255
+ - - "~>"
242
256
  - !ruby/object:Gem::Version
243
- version: '0'
257
+ version: '5'
244
258
  type: :runtime
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
- - - ">="
262
+ - - "~>"
249
263
  - !ruby/object:Gem::Version
250
- version: '0'
264
+ version: '5'
251
265
  - !ruby/object:Gem::Dependency
252
- name: reverse_markdown
266
+ name: ruby-progressbar
253
267
  requirement: !ruby/object:Gem::Requirement
254
268
  requirements:
255
269
  - - ">="
@@ -263,21 +277,21 @@ dependencies:
263
277
  - !ruby/object:Gem::Version
264
278
  version: '0'
265
279
  - !ruby/object:Gem::Dependency
266
- name: PoParser
280
+ name: thor
267
281
  requirement: !ruby/object:Gem::Requirement
268
282
  requirements:
269
- - - ">="
283
+ - - '='
270
284
  - !ruby/object:Gem::Version
271
- version: '0'
285
+ version: 0.20.0
272
286
  type: :runtime
273
287
  prerelease: false
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
- - - ">="
290
+ - - '='
277
291
  - !ruby/object:Gem::Version
278
- version: '0'
292
+ version: 0.20.0
279
293
  - !ruby/object:Gem::Dependency
280
- name: titlekit
294
+ name: builder
281
295
  requirement: !ruby/object:Gem::Requirement
282
296
  requirements:
283
297
  - - ">="
@@ -290,6 +304,34 @@ dependencies:
290
304
  - - ">="
291
305
  - !ruby/object:Gem::Version
292
306
  version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: http-cookie
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '1'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '1'
321
+ - !ruby/object:Gem::Dependency
322
+ name: rainbow
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '3'
328
+ type: :runtime
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: '3'
293
335
  description:
294
336
  email:
295
337
  - contact@smugglys.com
@@ -301,6 +343,7 @@ files:
301
343
  - ".gitattributes"
302
344
  - ".gitignore"
303
345
  - ".rspec"
346
+ - ".rubocop.yml"
304
347
  - ".translatomatic/config.yml"
305
348
  - ".travis.yml"
306
349
  - ".yardopts"
@@ -309,6 +352,7 @@ files:
309
352
  - Guardfile
310
353
  - LICENSE.txt
311
354
  - README.de.md
355
+ - README.en.md
312
356
  - README.es.md
313
357
  - README.fr.md
314
358
  - README.it.md
@@ -321,10 +365,12 @@ files:
321
365
  - README.sv.md
322
366
  - README.zh.md
323
367
  - Rakefile
368
+ - TODO.txt
324
369
  - bin/console
325
370
  - bin/setup
326
371
  - bin/translatomatic
327
372
  - bin/travis
373
+ - config/i18n-tasks.yml
328
374
  - config/locales/translatomatic/de.yml
329
375
  - config/locales/translatomatic/en.yml
330
376
  - config/locales/translatomatic/es.yml
@@ -346,8 +392,15 @@ files:
346
392
  - lib/translatomatic/cli/config.rb
347
393
  - lib/translatomatic/cli/database.rb
348
394
  - lib/translatomatic/cli/main.rb
395
+ - lib/translatomatic/cli/thor.rb
349
396
  - lib/translatomatic/cli/translate.rb
350
397
  - lib/translatomatic/config.rb
398
+ - lib/translatomatic/config/display.rb
399
+ - lib/translatomatic/config/files.rb
400
+ - lib/translatomatic/config/location_settings.rb
401
+ - lib/translatomatic/config/options.rb
402
+ - lib/translatomatic/config/selector.rb
403
+ - lib/translatomatic/config/settings.rb
351
404
  - lib/translatomatic/converter.rb
352
405
  - lib/translatomatic/database.rb
353
406
  - lib/translatomatic/define_options.rb
@@ -356,42 +409,66 @@ files:
356
409
  - lib/translatomatic/extractor/base.rb
357
410
  - lib/translatomatic/extractor/ruby.rb
358
411
  - lib/translatomatic/file_translator.rb
359
- - lib/translatomatic/http_request.rb
412
+ - lib/translatomatic/flattenation.rb
413
+ - lib/translatomatic/http.rb
414
+ - lib/translatomatic/http/client.rb
415
+ - lib/translatomatic/http/exception.rb
416
+ - lib/translatomatic/http/file_param.rb
417
+ - lib/translatomatic/http/param.rb
418
+ - lib/translatomatic/http/request.rb
419
+ - lib/translatomatic/i18n.rb
360
420
  - lib/translatomatic/locale.rb
361
421
  - lib/translatomatic/logger.rb
422
+ - lib/translatomatic/metadata.rb
362
423
  - lib/translatomatic/model.rb
363
424
  - lib/translatomatic/model/locale.rb
364
425
  - lib/translatomatic/model/text.rb
365
426
  - lib/translatomatic/option.rb
427
+ - lib/translatomatic/path_utils.rb
366
428
  - lib/translatomatic/progress_updater.rb
429
+ - lib/translatomatic/provider.rb
430
+ - lib/translatomatic/provider/base.rb
431
+ - lib/translatomatic/provider/frengly.rb
432
+ - lib/translatomatic/provider/google.rb
433
+ - lib/translatomatic/provider/google_web.rb
434
+ - lib/translatomatic/provider/microsoft.rb
435
+ - lib/translatomatic/provider/my_memory.rb
436
+ - lib/translatomatic/provider/yandex.rb
367
437
  - lib/translatomatic/resource_file.rb
368
438
  - lib/translatomatic/resource_file/base.rb
369
439
  - lib/translatomatic/resource_file/csv.rb
370
440
  - lib/translatomatic/resource_file/html.rb
441
+ - lib/translatomatic/resource_file/key_value_support.rb
371
442
  - lib/translatomatic/resource_file/markdown.rb
372
443
  - lib/translatomatic/resource_file/plist.rb
373
444
  - lib/translatomatic/resource_file/po.rb
374
445
  - lib/translatomatic/resource_file/properties.rb
446
+ - lib/translatomatic/resource_file/properties.treetop
375
447
  - lib/translatomatic/resource_file/resw.rb
376
448
  - lib/translatomatic/resource_file/subtitle.rb
377
449
  - lib/translatomatic/resource_file/text.rb
378
450
  - lib/translatomatic/resource_file/xcode_strings.rb
451
+ - lib/translatomatic/resource_file/xcode_strings.treetop
379
452
  - lib/translatomatic/resource_file/xml.rb
380
453
  - lib/translatomatic/resource_file/yaml.rb
381
- - lib/translatomatic/string.rb
454
+ - lib/translatomatic/retry_executor.rb
455
+ - lib/translatomatic/slurp.rb
456
+ - lib/translatomatic/string_batcher.rb
457
+ - lib/translatomatic/string_escaping.rb
458
+ - lib/translatomatic/text.rb
459
+ - lib/translatomatic/text_collection.rb
382
460
  - lib/translatomatic/tmx.rb
383
461
  - lib/translatomatic/tmx/document.rb
384
462
  - lib/translatomatic/tmx/translation_unit.rb
385
463
  - lib/translatomatic/translation.rb
386
- - lib/translatomatic/translation_result.rb
387
- - lib/translatomatic/translation_stats.rb
464
+ - lib/translatomatic/translation/collection.rb
465
+ - lib/translatomatic/translation/fetcher.rb
466
+ - lib/translatomatic/translation/munging.rb
467
+ - lib/translatomatic/translation/result.rb
468
+ - lib/translatomatic/translation/sharer.rb
469
+ - lib/translatomatic/translation/stats.rb
388
470
  - lib/translatomatic/translator.rb
389
- - lib/translatomatic/translator/base.rb
390
- - lib/translatomatic/translator/frengly.rb
391
- - lib/translatomatic/translator/google.rb
392
- - lib/translatomatic/translator/microsoft.rb
393
- - lib/translatomatic/translator/my_memory.rb
394
- - lib/translatomatic/translator/yandex.rb
471
+ - lib/translatomatic/type_cast.rb
395
472
  - lib/translatomatic/util.rb
396
473
  - lib/translatomatic/version.rb
397
474
  - translatomatic.gemspec
@@ -408,7 +485,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
408
485
  requirements:
409
486
  - - ">="
410
487
  - !ruby/object:Gem::Version
411
- version: '0'
488
+ version: '2.2'
412
489
  required_rubygems_version: !ruby/object:Gem::Requirement
413
490
  requirements:
414
491
  - - ">="
@@ -416,7 +493,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
416
493
  version: '0'
417
494
  requirements: []
418
495
  rubyforge_project:
419
- rubygems_version: 2.6.11
496
+ rubygems_version: 2.7.4
420
497
  signing_key:
421
498
  specification_version: 4
422
499
  summary: File translation and conversion utility