Sha256: 6e83e036e51da87cf169982aa53834a09450bae83fed58ce1976f4f33f2f9eb5

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

module I18nAdminUtils
  class TranslationController < ApplicationController
    def index
    end

    def edit
      if params[:key].nil?
        i18n_redirect('No key specified')
      else
        key = params[:key]
        locale = params[:locale]
        translation = params[:value]
        if locale.nil?
          if key.include? '.'
            split = key.split('.', 2)
            locale = split[0]
            key = split[1]
          else
            i18n_redirect('No locale specified', false)
            return
          end
        end
        I18nAdminUtils::Backend::Manager.save_translation(locale, key, translation)
        i18n_redirect('Translation edited with success')
      end
    end

    def show
      unless params[:translation].nil?
        render :partial => 'show', :locals => {:translation => params[:translation]}
      end
    end

    #Return a list of all the missing translation
    def missing_list
      translations = I18nAdminUtils::SearchTranslation.search
      render :partial => 'missing_list', :layouts => false, :locals => {:translations => translations}
    end

    def i18n_redirect(message, success = true)
      if request.xhr?
        render :json => {:success => success, :message => message}
      else
        if success
          redirect_to :back, :notice => message
        else
          redirect_to :back, :alert => message
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
i18n_admin_utils-1.0.0 app/controllers/i18n_admin_utils/translation_controller.rb