class Xlocalize::XlocalizeCLI

Public Instance Methods

define_download_cmd() click to toggle source
# File lib/xlocalize.rb, line 38
def define_download_cmd
  command :download do |c|
    c.syntax = 'xlocalize download [options]'
    c.description = 'Download localized strings from WebtranslateIt project'
    c.option '--wti_key STRING', String, 'Webtranslateit API key'
    c.option '--locales ARRAY', Array, 'Locales to download'
    c.action do |_, options|
      if options.wti_key.nil? or
         options.locales.nil?
        raise 'Missing parameter'
      end

      Executor.new.download(WebtranslateIt.new(options.wti_key), options.locales)
    end
  end
end
define_export_cmd() click to toggle source
# File lib/xlocalize.rb, line 10
def define_export_cmd
  command :export do |c|
    c.syntax = 'xlocalize export [options]'
    c.description = 'Export localized strings from Xcode project'
    c.option '--wti_key STRING', String, 'Webtranslateit API key'
    c.option '--project STRING', String, 'Path to project file'
    c.option '--targets ARRAY', Array, 'Target in the project'
    c.option '--excl_prefix STRING', String, 'Exclude strings having specified prefix'
    c.option '--master_lang STRING', String, 'Master language of the project'
    c.option '--exclude_units ARRAY', Array, 'Translation unit IDs to exclude'
    c.option '--no-cryptic', 'Disallow cryptic translation units'
    c.action do |_, options|
      options.default :exclude_units => []
      no_cryptic = !(options.no_cryptic.nil? ? true : options.no_cryptic)

      if options.project.nil? or
         options.targets.nil? or
         options.excl_prefix.nil? or
         options.master_lang.nil?
        raise 'Missing parameter'
      end

      wti = WebtranslateIt.new(options.wti_key) if !options.wti_key.nil?
      Executor.new.export_master(wti, options.project, options.targets, options.excl_prefix, options.master_lang, options.exclude_units, no_cryptic)
    end
  end
end
define_import_cmd() click to toggle source
# File lib/xlocalize.rb, line 55
def define_import_cmd
  command :import do |c|
    c.syntax = 'xlocalize import [options]'
    c.description = 'Import localized strings to Xcode project'
    c.option '--locales ARRAY', Array, 'Locales to import'
    c.option '--allow-missing-files', 'Allow missing files read from xliff'
    c.action do |_, options|
      if options.locales.nil?
        raise 'Missing parameter'
      end
      allow_missing_files = options.allow_missing_files ||= false
      Executor.new.import(options.locales, allow_missing_files=allow_missing_files)
    end
  end
end
run() click to toggle source
# File lib/xlocalize.rb, line 71
def run
  program :name, 'Xlocalize'
  program :version, Xlocalize::VERSION
  program :description, Xlocalize::DESCRIPTION

  global_option('--verbose') { $VERBOSE = true }

  define_export_cmd
  define_download_cmd
  define_import_cmd
  
  run!
end