Class: ModpackLocalizer::JAR::Performer
- Inherits:
-
Object
- Object
- ModpackLocalizer::JAR::Performer
- Defined in:
- lib/modpack_localizer/jar/performer.rb
Overview
.jarの翻訳を実行するクラス JpTranslatorFromGptを使用して翻訳を行う
Instance Method Summary collapse
-
#initialize(output_logs: true, except_words: [], language: "Japanese", country: "Japan", locale_code: nil, display_help: true) ⇒ ModpackLocalizer::JAR::Performer
constructor
locale_codeを指定する場合、countryの指定は不要.
-
#perform(file_path, loggable: true, tierdown: true) ⇒ void
.jarファイルを翻訳してリソースパックを作成する.
-
#perform_directory(dir_path: "mods", loggable: true) ⇒ void
ディレクトリ内の.jarファイルを翻訳してリソースパックを作成する.
-
#validate_path(path) ⇒ void
ファイルの存在性のバリデーション.
Constructor Details
#initialize(output_logs: true, except_words: [], language: "Japanese", country: "Japan", locale_code: nil, display_help: true) ⇒ ModpackLocalizer::JAR::Performer
locale_codeを指定する場合、countryの指定は不要
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/modpack_localizer/jar/performer.rb', line 22 def initialize( output_logs: true, except_words: [], language: "Japanese", country: "Japan", locale_code: nil, display_help: true ) @translator = JpTranslatorFromGpt::Translator.new( output_logs: output_logs, except_words: except_words, exchange_language: language ) @language, @country_name, @locale_code = language, country, locale_code @reader, @writer, @progress_bar, @loggable, @tierdown = nil ModpackLocalizer.help if display_help end |
Instance Method Details
#perform(file_path, loggable: true, tierdown: true) ⇒ void
This method returns an undefined value.
.jarファイルを翻訳してリソースパックを作成する
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/modpack_localizer/jar/performer.rb', line 43 def perform(file_path, loggable: true, tierdown: true) @loggable, @tierdown = loggable, tierdown file_path = File.(file_path) validate_path(file_path) init_reader_and_writer(file_path) lang_data = @reader. (file_path, lang_data.json.length) if @loggable need_translation?(lang_data) ? translate(lang_data) : feedback_unnecessary_translation(lang_data) end |
#perform_directory(dir_path: "mods", loggable: true) ⇒ void
This method returns an undefined value.
ディレクトリ内の.jarファイルを翻訳してリソースパックを作成する
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/modpack_localizer/jar/performer.rb', line 60 def perform_directory(dir_path: "mods", loggable: true) puts "Performing directory: #{dir_path}" unless loggable dir_path = File.(dir_path) validate_path(dir_path) jar_files = Dir.glob("#{dir_path}/*.jar") if jar_files.empty? puts "JAR files not found in: #{dir_path}" return end jar_files.each { |file_path| perform(file_path, loggable: loggable, tierdown: false) } @writer.remove_before_zipping_directory end |
#validate_path(path) ⇒ void
This method returns an undefined value.
ファイルの存在性のバリデーション
79 80 81 82 |
# File 'lib/modpack_localizer/jar/performer.rb', line 79 def validate_path(path) path = File.(path) raise ModpackLocalizer::PathNotFoundError.new(path) unless File.exist?(path) end |