modpack_localizer 0.4.0 → 0.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd0e40db750b08a99dbfd2dc80874dd7b1d4d261c056065cd5c75b7170df3bca
4
- data.tar.gz: 7519fd5249a41610da57bfdaad1a9f8c3b72c368bc91b010a933a46b90e28948
3
+ metadata.gz: e9147b02f5b6012f60cce0708bd2431b16983e857b1b1e91dcde22bb0d83734b
4
+ data.tar.gz: fd66110285400a00d87421ba9ad2927b6fb5a036037ab56cda2354963bf44407
5
5
  SHA512:
6
- metadata.gz: 6b8a6941c0f3d19401f474af07b946aedc816ba570735f0172deed0cc5963894dd7393ced1f69a8403b4c2975b5ae2f907856990f73c11304147f85a6e65c068
7
- data.tar.gz: '04508e54b5f5a2237e00d39693d1b48b37fcdc9b144df426b5693d3a2cba3203086093559187501c279640beb81086011300c318410bdee554f4503f763865e4'
6
+ metadata.gz: '07348b4470777efd7ede2f88b1ed6eb0d18b4fed4b982eff8a87d1edde93b4860a45fbaea50570e9b0603e98822b77d523b3e0de507c13f7967e9f54989962ab'
7
+ data.tar.gz: e0afb02710d8da14e886d9dd9e69f8909b32a408424d734a26e41a24a1176f29a47260a66486f515733225fe253bc2e71f405d5333ef1ad90b7b6b98112c5567
data/CHANGELOG.md CHANGED
@@ -93,3 +93,10 @@
93
93
  - IO::TimeoutError以外の例外もリトライ対象に追加
94
94
  - 翻訳APIの独自エラーとかに対応するため
95
95
  - いくつかのライブラリを最新化
96
+
97
+ ## [0.5.0] - 2025-11-23
98
+
99
+ - プロバイダーを選べるようにdotenvを追加
100
+ - TranslationAPIの設定にカスタムプロンプトを追加できるようにした
101
+ - プロンプトに「プロパティアクセスは翻訳しないでください。例: obj.property.child」を追加するように変更
102
+ - これにより、ftbquestのプロパティアクセスが翻訳されてしまう問題を軽減
data/README.md CHANGED
@@ -16,12 +16,11 @@ or if no specific configs required
16
16
 
17
17
  1. Download [release](https://github.com/milkeclair/modpack_localizer/releases)
18
18
  2. Make `.env` file
19
- 3. Add `OPENAI_API_KEY=your_api_key` to `.env`
20
- 4. Optional: Add `OPENAI_MODEL=some_openai_model` to `.env`
21
- 5. Add `some.snbt` or `quests` directory contents to `quests` directory
22
- 6. Add `some.jar` files to `mods` directory
23
- 7. Double click `start.bat` file
24
- 8. Check `output` directory
19
+ 3. Add your API keys to `.env` file [see](https://github.com/milkeclair/translation_api)
20
+ 4. Add `some.snbt` or `quests` directory contents to `quests` directory
21
+ 5. Add `some.jar` files to `mods` directory
22
+ 6. Double click `start.bat` file
23
+ 7. Check `output` directory
25
24
 
26
25
  ## Options for omakase method
27
26
 
data/dist/example.rb CHANGED
@@ -1,5 +1,10 @@
1
1
  require "modpack_localizer"
2
2
 
3
- ModpackLocalizer.omakase(language: "English")
3
+ # ModpackLocalizer.omakase(language: "English")
4
4
  # or
5
- ModpackLocalizer.omakase(language: "Japanese", country: "Japan", locale_code: nil, threadable: true)
5
+ begin
6
+ ModpackLocalizer.omakase
7
+ rescue StandardError => e
8
+ puts e
9
+ puts e.backtrace
10
+ end
@@ -1,3 +1,4 @@
1
+ require "dotenv"
1
2
  require "translation_api"
2
3
  require_relative "../util/help"
3
4
  require_relative "../util/error"
@@ -8,6 +9,8 @@ module ModpackLocalizer
8
9
  module JAR
9
10
  # .jarの翻訳を実行するクラス
10
11
  class Performer
12
+ Dotenv.load
13
+
11
14
  MAX_RETRIES = 8
12
15
  BASE_DELAY = 5
13
16
  MAX_SLEEP = 256
@@ -25,12 +28,7 @@ module ModpackLocalizer
25
28
  output_logs: true, except_words: [], language: "Japanese",
26
29
  country: "Japan", locale_code: nil, display_help: true
27
30
  )
28
- TranslationAPI.configure do |config|
29
- config.output_logs = output_logs
30
- config.language = language
31
- config.except_words = except_words
32
- config.provider = :openai
33
- end
31
+ configure_translation_api(output_logs:, except_words:, language:)
34
32
 
35
33
  @language, @country_name, @locale_code = language, country, locale_code
36
34
  @reader, @writer, @progress_bar, @loggable, @tierdown = nil
@@ -87,6 +85,18 @@ module ModpackLocalizer
87
85
 
88
86
  private
89
87
 
88
+ def configure_translation_api(
89
+ output_logs: true, except_words: [], language: "Japanese"
90
+ )
91
+ TranslationAPI.configure do |config|
92
+ config.output_logs = output_logs
93
+ config.language = language.downcase
94
+ config.except_words = except_words
95
+ config.provider = ENV["PROVIDER"]&.to_sym || :openai
96
+ config.custom_prompt = "Never translate property access. Example: obj.property.child"
97
+ end
98
+ end
99
+
90
100
  # ReaderとWriterを初期化する
91
101
  #
92
102
  # @params [String] file_path ファイルのパス
@@ -1,3 +1,4 @@
1
+ require "dotenv"
1
2
  require "translation_api"
2
3
  require_relative "../util/help"
3
4
  require_relative "../util/error"
@@ -8,6 +9,8 @@ module ModpackLocalizer
8
9
  module SNBT
9
10
  # .snbtの翻訳を実行するクラス
10
11
  class Performer
12
+ Dotenv.load
13
+
11
14
  MAX_RETRIES = 8
12
15
  BASE_DELAY = 5
13
16
  MAX_SLEEP = 256
@@ -19,10 +22,11 @@ module ModpackLocalizer
19
22
  # @return [ModpackLocalizer::SNBT::Performer]
20
23
  def initialize(output_logs: true, except_words: [], language: "Japanese", display_help: true)
21
24
  TranslationAPI.configure do |config|
22
- config.output_logs = output_logs
23
- config.language = language
24
- config.except_words = except_words
25
- config.provider = :openai
25
+ config.output_logs = output_logs
26
+ config.language = language.downcase
27
+ config.except_words = except_words
28
+ config.provider = ENV["PROVIDER"]&.to_sym || :openai
29
+ config.custom_prompt = "Never translate property access. Example: obj.property.child"
26
30
  end
27
31
 
28
32
  @reader, @writer, @progress_bar, @loggable = nil
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModpackLocalizer
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modpack_localizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - milkeclair
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: dotenv
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: iso-639
28
42
  requirement: !ruby/object:Gem::Requirement