module Core::Trans
Constants
- SUB
Public Class Methods
dialogue(sym, replace=nil)
click to toggle source
# File lib/translate.rb, line 358 def self.dialogue(sym, replace=nil) return safe(@@dialogues, sym, replace) end
enemy(sym)
click to toggle source
# File lib/translate.rb, line 361 def self.enemy(sym) return safe(@@enemies, sym) end
handle_failed(type)
click to toggle source
# File lib/translate.rb, line 319 def self.handle_failed(type) puts("FATAL: No #{type} translations for selected language (#{Core.config[:language]}) found!") if Core.config[:language] != "de" Core.config[:language] = "de" puts("INFO: Changed language to 'de' (German), try restarting") Core.exit(1) else puts("INFO: Even the default language is not working, the install seems to be broken.\nTry redownloading the application.") Core.exit(1) end end
item(sym)
click to toggle source
# File lib/translate.rb, line 346 def self.item(sym) return safe(@@items, sym) end
parse_dialogues()
click to toggle source
# File lib/translate.rb, line 237 def self.parse_dialogues Dir.new("#{Core::LIBRARY_PATH}/def/#{Core.config[:language]}/dialogues/").each { |f| begin if File.directory?("#{Core::LIBRARY_PATH}/#{f}") or File.extname("#{Core::LIBRARY_PATH}/#{f}") != ".dlg" next end file = File.new("#{Core::LIBRARY_PATH}/def/#{Core.config[:language]}/dialogues/#{f}") block = false msg = "" sym = nil file.each_line { |line| line.gsub!("\n", "") if line.start_with?("#") or line.length == 0 if line == "#EOF" break end next end line.lstrip! if block if line.include?("}") block = false @@dialogues[Core.config[:language]].store(sym, msg) msg = "" sym = nil next end msg += "#{line}\n" else if line.include?("{") block = true sym = line.gsub(/\s?\{/, "").to_sym end end } file.close rescue Errno::ENOENT end } end
parse_enemies()
click to toggle source
# File lib/translate.rb, line 278 def self.parse_enemies begin file = File.open("#{Core::LIBRARY_PATH}/def/#{Core.config[:language]}/enemies.trans", "r") block = false name = desc = "" enemy = nil file.each_line { |line| line.gsub!("\n", "") if line.start_with?("#") or line.length == 0 if line == "#EOF" break end next end if line[0] == "{" block = true end if line[0] == "}" block = false @@enemies[Core.config[:language]].store(enemy.name, name) @@enemies[Core.config[:language]].store("#{enemy.name}_desc", desc) next end if block if line.start_with?("name") line.gsub!(/name *= */, "") name = line.gsub("\"", "") elsif line.start_with?("desc") line.gsub!(/desc *= */, "") desc = line.gsub("\"", "") end else enemy = Core::Game.find_enemy(line.to_sym) end } file.close rescue Errno::ENOENT self.handle_failed("skill") end end
parse_items()
click to toggle source
# File lib/translate.rb, line 114 def self.parse_items begin file = File.open("#{Core::LIBRARY_PATH}/def/#{Core.config[:language]}/items.trans", "r") block = false name = desc = "" item = nil file.each_line { |line| line.gsub!("\n", "") if line.start_with?("#") or line.length == 0 if line == "#EOF" break end next end if line[0] == "{" block = true end if line[0] == "}" block = false @@items[Core.config[:language]].store(item.name, name) @@items[Core.config[:language]].store("#{item.name}_desc", desc) next end if block if line.start_with?("name") line.gsub!(/name *= */, "") name = line.gsub("\"", "") elsif line.start_with?("desc") line.gsub!(/desc *= */, "") desc = line.gsub("\"", "") end else item = Core::Game.find_item(line.to_sym) end } file.close rescue Errno::ENOENT self.handle_failed("item") end end
parse_skills()
click to toggle source
# File lib/translate.rb, line 196 def self.parse_skills begin file = File.open("#{Core::LIBRARY_PATH}/def/#{Core.config[:language]}/skills.trans", "r") block = false name = desc = "" skill = nil file.each_line { |line| line.gsub!("\n", "") if line.start_with?("#") or line.length == 0 if line == "#EOF" break end next end if line[0] == "{" block = true end if line[0] == "}" block = false @@skills[Core.config[:language]].store(skill.name, name) @@skills[Core.config[:language]].store("#{skill.name}_desc", desc) next end if block if line.start_with?("name") line.gsub!(/name *= */, "") name = line.gsub("\"", "") elsif line.start_with?("desc") line.gsub!(/desc *= */, "") desc = line.gsub("\"", "") end else skill = Core::Game.find_skill(line.to_sym) end } file.close rescue Errno::ENOENT self.handle_failed("skill") end end
parse_spells()
click to toggle source
# File lib/translate.rb, line 155 def self.parse_spells begin file = File.open("#{Core::LIBRARY_PATH}/def/#{Core.config[:language]}/spells.trans", "r") block = false name = desc = "" spell = nil file.each_line { |line| line.gsub!("\n", "") if line.start_with?("#") or line.length == 0 if line == "#EOF" break end next end if line[0] == "{" block = true end if line[0] == "}" block = false @@spells[Core.config[:language]].store(spell.name, name) @@spells[Core.config[:language]].store("#{spell.name}_desc".to_sym, desc) next end if block if line.start_with?("name") line.gsub!(/name *= */, "") name = line.gsub("\"", "") elsif line.start_with?("desc") line.gsub!(/desc *= */, "") desc = line.gsub("\"", "") end else spell = Core::Game.find_spell(line.to_sym) end } file.close rescue Errno::ENOENT self.handle_failed("spell") end end
safe(hash, sym, replace=nil)
click to toggle source
# File lib/translate.rb, line 331 def self.safe(hash, sym, replace=nil) if !hash.has_key?(Core.config[:language]) warn("ERROR: Selected language (#{Core.config[:language]}) not available") return "" elsif !hash[Core.config[:language]].has_key?(sym) warn("ERROR: Missing translation for #{sym} for language #{Core.config[:language]}") return "" end if replace && !replace.empty? return hash[Core.config[:language]][sym].gsub(SUB, replace) else return hash[Core.config[:language]][sym] end end
skill(sym)
click to toggle source
# File lib/translate.rb, line 349 def self.skill(sym) return safe(@@skills, sym) end
spell(sym)
click to toggle source
# File lib/translate.rb, line 352 def self.spell(sym) return safe(@@spells, sym) end
weapon(sym)
click to toggle source
# File lib/translate.rb, line 364 def self.weapon(sym) return safe(@@weapons, sym) end