From 83548b09620aebbd43aa7a3c272cdd9cc18a13dc Mon Sep 17 00:00:00 2001 From: erdgeist Date: Sun, 2 Aug 2026 14:58:51 +0200 Subject: Pick an existing translation when none has changed --- app/controllers/revisions_controller.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'app/controllers/revisions_controller.rb') diff --git a/app/controllers/revisions_controller.rb b/app/controllers/revisions_controller.rb index b8e66218..cfd31308 100644 --- a/app/controllers/revisions_controller.rb +++ b/app/controllers/revisions_controller.rb @@ -33,7 +33,13 @@ class RevisionsController < ApplicationController @locale_summary = @end.locale_diff_summary(@start) requested_locale = params[:translation_locale].presence&.to_sym - default_locale = @locale_summary.find { |s| s[:changed] }&.dig(:locale) || I18n.default_locale + + available = @locale_summary.map { |s| s[:locale] } + default_locale = @locale_summary.find { |s| s[:changed] }&.dig(:locale) || + (I18n.default_locale if available.include?(I18n.default_locale)) || + available.first || + I18n.default_locale + @translation_locale = @locale_summary.any? { |s| s[:locale] == requested_locale } ? requested_locale : default_locale @diff_view = params[:view] == "side_by_side" ? :side_by_side : :inline -- cgit v1.3