class TranslationIO::Client::InitOperation
Public Instance Methods
info_project_url(parsed_response)
click to toggle source
# File lib/translation_io/client/init_operation.rb, line 115 def info_project_url(parsed_response) puts puts "----------" puts "Use this URL to translate: #{parsed_response['project_url']}" puts "Then use 'rake translation:sync' to send new keys to Translation.io and get new translations into your project." puts "----------" end
info_yaml_directory_structure()
click to toggle source
# File lib/translation_io/client/init_operation.rb, line 107 def info_yaml_directory_structure puts puts "----------" puts "If you're wondering why your YAML directory structure has changed so much," puts "please check this article: https://translation.io/blog/dealing-with-yaml-files-and-their-directory-structure" puts "----------" end
run()
click to toggle source
# File lib/translation_io/client/init_operation.rb, line 8 def run config = TranslationIO.config source_files = config.source_files erb_source_files = config.erb_source_files haml_source_files = config.haml_source_files slim_source_files = config.slim_source_files pot_path = config.pot_path source_locale = config.source_locale target_locales = config.target_locales locales_path = config.locales_path yaml_locales_path = config.yaml_locales_path yaml_file_paths = config.yaml_file_paths warn_wrong_locales(source_locale, target_locales) if !config.disable_gettext BaseOperation::DumpMarkupGettextKeysStep.new(haml_source_files, :haml).run BaseOperation::DumpMarkupGettextKeysStep.new(slim_source_files, :slim).run end UpdatePotFileStep.new(pot_path, source_files + erb_source_files).run(params) UpdateAndCollectPoFilesStep.new(target_locales, pot_path, locales_path).run(params) if !config.disable_yaml create_yaml_pot_files_step = CreateYamlPoFilesStep.new(source_locale, target_locales, yaml_file_paths) create_yaml_pot_files_step.run(params) all_used_yaml_locales = create_yaml_pot_files_step.all_used_yaml_locales.to_a.map(&:to_s).sort warn_source_locale_unfound(source_locale, all_used_yaml_locales) warn_target_locale_unfound(target_locales, all_used_yaml_locales) end TranslationIO.info "Sending data to server (it may take some time, please be patient. Sync will be faster)." uri = URI("#{client.endpoint}/projects/#{client.api_key}/init") parsed_response = BaseOperation.perform_request(uri, params) if !parsed_response.nil? if !config.disable_gettext BaseOperation::SaveNewPoFilesStep.new(target_locales, locales_path, parsed_response).run BaseOperation::CreateNewMoFilesStep.new(locales_path).run end if !config.disable_yaml BaseOperation::SaveNewYamlFilesStep.new(target_locales, yaml_locales_path, parsed_response).run BaseOperation::SaveSpecialYamlFilesStep.new(source_locale, target_locales, yaml_locales_path, yaml_file_paths).run CleanupYamlFilesStep.new(source_locale, target_locales, yaml_file_paths, yaml_locales_path).run info_yaml_directory_structure end info_project_url(parsed_response) end cleanup end
warn_source_locale_unfound(source_locale, all_used_yaml_locales)
click to toggle source
# File lib/translation_io/client/init_operation.rb, line 66 def warn_source_locale_unfound(source_locale, all_used_yaml_locales) is_source_locale_unfound = !all_used_yaml_locales.include?(source_locale) if is_source_locale_unfound puts puts "----------" puts "Your `config.source_locale` is \"#{source_locale}\" but no YAML keys were found for this locale." puts "Check that you haven't misspelled the locale (ex. 'en-GB' instead of 'en')." puts "----------" puts "Do you want to continue anyway? (y/N)" print "> " input = STDIN.gets.strip if input != 'y' && input != 'Y' exit(true) end end end
warn_target_locale_unfound(target_locales, all_used_yaml_locales)
click to toggle source
# File lib/translation_io/client/init_operation.rb, line 86 def warn_target_locale_unfound(target_locales, all_used_yaml_locales) target_locales_unfound = target_locales - all_used_yaml_locales if target_locales_unfound.any? puts puts "----------" puts "Your `config.target_locales` are [#{target_locales.sort.join(', ')}]." puts "But we haven't found any YAML key for [#{target_locales_unfound.sort.join(', ')}], is this normal?" puts "If not, check that you haven't misspelled the locale (ex. 'en-GB' instead of 'en')." puts "----------" puts "Do you want to continue? (y/N)" print "> " input = STDIN.gets.strip if input != 'y' && input != 'Y' exit(true) end end end