Sha256: 4f1b8bc3df2060b869f796c371bc5100c553d15aced323e1f0725bc592ebe910

Contents?: true

Size: 947 Bytes

Versions: 1

Compression:

Stored size: 947 Bytes

Contents

# encoding: utf-8

module AdhearsionI18n::CallControllerMethods
  def t(key, options = {})
    this_locale = options[:locale] || locale
    options = {default: '', locale: locale}.merge(options)
    prompt = ::I18n.t "#{key}.audio", options
    text   = ::I18n.t "#{key}.text", options

    if prompt.empty? && text.empty?
      # Look for a translation key that doesn't follow the Adhearsion-I18n structure
      text = ::I18n.t key, options
    end

    unless prompt.empty?
      prompt = "#{Adhearsion.config.i18n.audio_path}/#{this_locale}/#{prompt}"
    end

    RubySpeech::SSML.draw language: this_locale do
      if prompt.empty?
        string text
      else
        if Adhearsion.config.i18n.fallback
          audio(src: prompt) { string text }
        else
          audio(src: prompt)
        end
      end
    end
  end

  def locale
    call[:locale] || I18n.default_locale
  end

  def locale=(l)
    call[:locale] = l
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
adhearsion-i18n-1.1.0 lib/adhearsion-i18n/call_controller_methods.rb