better_translate 1.0.0 → 1.1.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +28 -0
  3. data/.rubocop_todo.yml +291 -0
  4. data/CHANGELOG.md +88 -0
  5. data/README.md +262 -2
  6. data/RELEASE_NOTES_v1.0.0.md +240 -0
  7. data/Steepfile +2 -2
  8. data/docs/implementation/00-overview.md +1 -1
  9. data/docs/implementation/04-provider_architecture.md +5 -5
  10. data/lib/better_translate/analyzer/code_scanner.rb +151 -0
  11. data/lib/better_translate/analyzer/key_scanner.rb +109 -0
  12. data/lib/better_translate/analyzer/orphan_detector.rb +88 -0
  13. data/lib/better_translate/analyzer/reporter.rb +155 -0
  14. data/lib/better_translate/cache.rb +2 -1
  15. data/lib/better_translate/cli.rb +81 -2
  16. data/lib/better_translate/configuration.rb +48 -2
  17. data/lib/better_translate/errors.rb +9 -0
  18. data/lib/better_translate/json_handler.rb +227 -0
  19. data/lib/better_translate/providers/anthropic_provider.rb +4 -3
  20. data/lib/better_translate/providers/chatgpt_provider.rb +2 -1
  21. data/lib/better_translate/providers/gemini_provider.rb +5 -4
  22. data/lib/better_translate/railtie.rb +2 -1
  23. data/lib/better_translate/rate_limiter.rb +4 -1
  24. data/lib/better_translate/strategies/batch_strategy.rb +1 -1
  25. data/lib/better_translate/strategies/deep_strategy.rb +1 -1
  26. data/lib/better_translate/translator.rb +204 -19
  27. data/lib/better_translate/utils/hash_flattener.rb +2 -2
  28. data/lib/better_translate/variable_extractor.rb +7 -7
  29. data/lib/better_translate/version.rb +1 -1
  30. data/lib/better_translate/yaml_handler.rb +59 -0
  31. data/lib/better_translate.rb +5 -0
  32. data/lib/generators/better_translate/analyze/analyze_generator.rb +2 -1
  33. data/lib/generators/better_translate/install/install_generator.rb +4 -3
  34. data/lib/generators/better_translate/install/templates/initializer.rb.tt +39 -7
  35. data/lib/generators/better_translate/translate/translate_generator.rb +2 -1
  36. data/regenerate_vcr.rb +47 -0
  37. data/sig/better_translate/configuration.rbs +13 -2
  38. data/sig/better_translate/errors.rbs +4 -0
  39. data/sig/better_translate/providers/base_http_provider.rbs +1 -1
  40. data/sig/better_translate/translator.rbs +12 -1
  41. data/sig/better_translate/variable_extractor.rbs +1 -1
  42. data/sig/better_translate/yaml_handler.rbs +6 -0
  43. data/sig/better_translate.rbs +2 -1
  44. metadata +9 -1
@@ -33,7 +33,7 @@ module BetterTranslate
33
33
 
34
34
  def validate_variables!: (String text) -> true
35
35
 
36
- def self.find_variables: (String? text) -> Array[String]
36
+ def self.find_variables: (String? text) -> Array[String | Array[String?]]
37
37
 
38
38
  def self.contains_variables?: (String? text) -> bool
39
39
  end
@@ -25,5 +25,11 @@ module BetterTranslate
25
25
  def merge_translations: (String file_path, Hash[String, untyped] new_translations) -> Hash[String, untyped]
26
26
 
27
27
  def build_output_path: (String target_lang_code) -> String
28
+
29
+ private
30
+
31
+ def create_backup_file: (String file_path) -> void
32
+
33
+ def rotate_backups: (String file_path) -> void
28
34
  end
29
35
  end
@@ -5,7 +5,8 @@
5
5
  module BetterTranslate
6
6
  type translation_results = { success_count: Integer, failure_count: Integer, errors: Array[Hash[Symbol, untyped]] }
7
7
 
8
- @configuration: Configuration?
8
+ # Module-level instance variable (for singleton methods)
9
+ self.@configuration: Configuration?
9
10
 
10
11
  # Configure BetterTranslate
11
12
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_translate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - alessiobussolari
@@ -36,12 +36,14 @@ files:
36
36
  - ".env.example"
37
37
  - ".rspec"
38
38
  - ".rubocop.yml"
39
+ - ".rubocop_todo.yml"
39
40
  - ".yardopts"
40
41
  - CHANGELOG.md
41
42
  - CLAUDE.md
42
43
  - CODE_OF_CONDUCT.md
43
44
  - LICENSE.txt
44
45
  - README.md
46
+ - RELEASE_NOTES_v1.0.0.md
45
47
  - Rakefile
46
48
  - Steepfile
47
49
  - docs/implementation/00-overview.md
@@ -60,11 +62,16 @@ files:
60
62
  - docs/implementation/12-cli_standalone.md
61
63
  - exe/better_translate
62
64
  - lib/better_translate.rb
65
+ - lib/better_translate/analyzer/code_scanner.rb
66
+ - lib/better_translate/analyzer/key_scanner.rb
67
+ - lib/better_translate/analyzer/orphan_detector.rb
68
+ - lib/better_translate/analyzer/reporter.rb
63
69
  - lib/better_translate/cache.rb
64
70
  - lib/better_translate/cli.rb
65
71
  - lib/better_translate/configuration.rb
66
72
  - lib/better_translate/direct_translator.rb
67
73
  - lib/better_translate/errors.rb
74
+ - lib/better_translate/json_handler.rb
68
75
  - lib/better_translate/progress_tracker.rb
69
76
  - lib/better_translate/provider_factory.rb
70
77
  - lib/better_translate/providers/anthropic_provider.rb
@@ -92,6 +99,7 @@ files:
92
99
  - lib/generators/better_translate/translate/USAGE
93
100
  - lib/generators/better_translate/translate/translate_generator.rb
94
101
  - lib/tasks/better_translate.rake
102
+ - regenerate_vcr.rb
95
103
  - sig/better_translate.rbs
96
104
  - sig/better_translate/cache.rbs
97
105
  - sig/better_translate/cli.rbs