M app/controllers/api/v1/statuses/translations_controller.rb => app/controllers/api/v1/statuses/translations_controller.rb +9 -1
@@ 8,7 8,15 @@ class Api::V1::Statuses::TranslationsController < Api::BaseController
before_action :set_translation
rescue_from TranslationService::NotConfiguredError, with: :not_found
- rescue_from TranslationService::UnexpectedResponseError, TranslationService::QuotaExceededError, TranslationService::TooManyRequestsError, with: :service_unavailable
+ rescue_from TranslationService::UnexpectedResponseError, with: :service_unavailable
+
+ rescue_from TranslationService::QuotaExceededError do
+ render json: { error: I18n.t('translation.errors.quota_exceeded') }, status: 503
+ end
+
+ rescue_from TranslationService::TooManyRequestsError do
+ render json: { error: I18n.t('translation.errors.too_many_requests') }, status: 503
+ end
def create
render json: @translation, serializer: REST::TranslationSerializer
M config/locales/en.yml => config/locales/en.yml +4 -0
@@ 1709,6 1709,10 @@ en:
default: "%b %d, %Y, %H:%M"
month: "%b %Y"
time: "%H:%M"
+ translation:
+ errors:
+ quota_exceeded: The server-wide usage quota for the translation service has been exceeded.
+ too_many_requests: There have been too many requests to the translation service recently.
two_factor_authentication:
add: Add
disable: Disable 2FA