2019-01-16 16:28:25 +01:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
# API Controller for managing front-end translations
|
2016-03-23 18:39:41 +01:00
|
|
|
class API::TranslationsController < API::ApiController
|
|
|
|
before_action :set_locale
|
|
|
|
|
|
|
|
|
|
|
|
def show
|
2019-12-16 16:54:40 +01:00
|
|
|
translations = I18n.t params[:state]
|
|
|
|
if translations.class.name == String.name && translations.start_with?('translation missing')
|
|
|
|
render json: { error: translations }, status: :unprocessable_entity
|
2016-03-23 18:39:41 +01:00
|
|
|
else
|
2019-12-16 16:54:40 +01:00
|
|
|
path = params[:state]
|
|
|
|
res = path.split('.').reverse.reduce(translations) { |r, e| { e.to_sym => r } }
|
|
|
|
render json: res, status: :ok
|
2016-03-23 18:39:41 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def set_locale
|
|
|
|
I18n.locale = params[:locale] || I18n.default_locale
|
|
|
|
end
|
|
|
|
|
2019-01-07 12:48:22 +01:00
|
|
|
end
|