better_translate 0.2.0 → 0.3.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 +4 -4
- data/CHANGELOG.md +74 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/README.md +123 -31
- data/Rakefile +12 -0
- data/lib/better_translate/helper.rb +71 -0
- data/lib/better_translate/providers/base_provider.rb +47 -5
- data/lib/better_translate/providers/chatgpt_provider.rb +5 -5
- data/lib/better_translate/providers/gemini_provider.rb +1 -1
- data/lib/better_translate/service.rb +46 -2
- data/lib/better_translate/translator.rb +117 -37
- data/lib/better_translate/utils.rb +49 -0
- data/lib/better_translate/version.rb +1 -1
- data/lib/better_translate/writer.rb +17 -15
- data/lib/better_translate.rb +17 -8
- data/lib/generators/better_translate/install_generator.rb +1 -1
- data/lib/generators/better_translate/templates/better_translate.rb +12 -12
- data/lib/generators/better_translate/translate_generator.rb +5 -3
- data/sig/better_translate.rbs +4 -0
- metadata +149 -24
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: better_translate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Alessio Bussolari
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2025-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: ruby-progressbar
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.13'
|
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: '
|
26
|
+
version: '1.13'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: httparty
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.21.0
|
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:
|
40
|
+
version: 0.21.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: zeitwerk
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '2.6'
|
48
48
|
type: :runtime
|
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: '
|
54
|
+
version: '2.6'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,34 +80,156 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '13.0'
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.12'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.12'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.50'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.50'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.6'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.6'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.22'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '2.22'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: yard
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.9'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.9'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.22'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0.22'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: webmock
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '3.19'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '3.19'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: vcr
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '6.1'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '6.1'
|
195
|
+
description: |
|
196
|
+
BetterTranslate is a powerful Ruby gem for translating YAML files using AI providers.
|
197
|
+
|
198
|
+
Key features:
|
199
|
+
* Multiple AI providers support (ChatGPT and Google Gemini)
|
200
|
+
* Smart translation modes (override/incremental)
|
201
|
+
* LRU caching for performance
|
202
|
+
* Precise key exclusion control
|
203
|
+
* Rails integration with generators
|
204
|
+
* Progress tracking with progress bar
|
205
|
+
* Comprehensive test coverage
|
206
|
+
|
207
|
+
Perfect for internationalizing Ruby/Rails applications with minimal effort.
|
92
208
|
email:
|
93
209
|
- alessio.bussolari@pandev.it
|
94
210
|
executables: []
|
95
211
|
extensions: []
|
96
212
|
extra_rdoc_files: []
|
97
213
|
files:
|
214
|
+
- CHANGELOG.md
|
215
|
+
- CODE_OF_CONDUCT.md
|
98
216
|
- LICENSE.txt
|
99
217
|
- README.md
|
218
|
+
- Rakefile
|
100
219
|
- lib/better_translate.rb
|
220
|
+
- lib/better_translate/helper.rb
|
101
221
|
- lib/better_translate/providers/base_provider.rb
|
102
222
|
- lib/better_translate/providers/chatgpt_provider.rb
|
103
223
|
- lib/better_translate/providers/gemini_provider.rb
|
104
224
|
- lib/better_translate/service.rb
|
105
225
|
- lib/better_translate/translator.rb
|
226
|
+
- lib/better_translate/utils.rb
|
106
227
|
- lib/better_translate/version.rb
|
107
228
|
- lib/better_translate/writer.rb
|
108
229
|
- lib/generators/better_translate/install_generator.rb
|
109
230
|
- lib/generators/better_translate/templates/better_translate.rb
|
110
231
|
- lib/generators/better_translate/translate_generator.rb
|
232
|
+
- sig/better_translate.rbs
|
111
233
|
homepage: https://github.com/alessiobussolari/better_translate
|
112
234
|
licenses:
|
113
235
|
- MIT
|
@@ -117,6 +239,9 @@ metadata:
|
|
117
239
|
homepage_uri: https://github.com/alessiobussolari/better_translate
|
118
240
|
source_code_uri: https://github.com/alessiobussolari/better_translate
|
119
241
|
changelog_uri: https://github.com/alessiobussolari/better_translate/blob/main/CHANGELOG.md
|
242
|
+
bug_tracker_uri: https://github.com/alessiobussolari/better_translate/issues
|
243
|
+
documentation_uri: https://github.com/alessiobussolari/better_translate
|
244
|
+
wiki_uri: https://github.com/alessiobussolari/better_translate/wiki
|
120
245
|
post_install_message:
|
121
246
|
rdoc_options: []
|
122
247
|
require_paths:
|
@@ -135,5 +260,5 @@ requirements: []
|
|
135
260
|
rubygems_version: 3.5.11
|
136
261
|
signing_key:
|
137
262
|
specification_version: 4
|
138
|
-
summary:
|
263
|
+
summary: AI-powered YAML translation with ChatGPT and Google Gemini
|
139
264
|
test_files: []
|